package pharao.domain;

import java.util.Collection;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

@Entity
public class Ort {

	/**
	 * @uml.property  name="collectionTutorium"
	 * @uml.associationEnd  multiplicity="(0 -1)" aggregation="composite" inverse="ort:pharao.domain.Tutorium"
	 */
	private Collection<Tutorium> collectionTutorium;

	/**
	 * @uml.property  name="collectionÜbung"
	 * @uml.associationEnd  multiplicity="(0 -1)" aggregation="composite" inverse="ort:pharao.domain.Übung"
	 */
	private Collection<Übung> collectionÜbung;

	/**
	 * @uml.property  name="id"
	 */
	private int id;

	/**
	 * @uml.property   name="landkarte"
	 * @uml.associationEnd   inverse="collectionOrte:pharao.domain.Landkarte"
	 */
	private Landkarte landkarte;

	/**
	 * @uml.property  name="ortStatus"
	 * @uml.associationEnd  multiplicity="(1 1)" inverse="ort:pharao.domain.OrtStatus"
	 */
	private OrtStatus ortStatus = new pharao.domain.OrtStatus();

	/**
	 * Getter of the property <tt>collectionTutorium</tt>
	 * @return  Returns the collectionTutorium.
	 * @uml.property  name="collectionTutorium"
	 */
	@OneToMany
	public Collection<Tutorium> getCollectionTutorium() {
		return collectionTutorium;
	}

	/**
	 * Getter of the property <tt>collectionÜbung</tt>
	 * @return  Returns the collectionÜbung.
	 * @uml.property  name="collectionÜbung"
	 */
	@OneToMany
	public Collection<Übung> getCollectionÜbung() {
		return collectionÜbung;
	}

	/**
	 * Getter of the property <tt>id</tt>
	 * @return  Returns the id.
	 * @uml.property  name="id"
	 */
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}

	/** 
	 * Getter of the property <tt>landkarte</tt>
	 * @return  Returns the landkarte.
	 * @uml.property  name="landkarte"
	 */
	@OneToOne
	public Landkarte getLandkarte() {
		return landkarte;
	}

	/**
	 * Getter of the property <tt>ortStatus</tt>
	 * @return  Returns the ortStatus.
	 * @uml.property  name="ortStatus"
	 */
	@OneToOne
	public OrtStatus getOrtStatus() {
		return ortStatus;
	}

	/**
	 * Setter of the property <tt>collectionTutorium</tt>
	 * @param collectionTutorium  The collectionTutorium to set.
	 * @uml.property  name="collectionTutorium"
	 */
	public void setCollectionTutorium(Collection<Tutorium> collectionTutorium) {
		this.collectionTutorium = collectionTutorium;
	}

	/**
	 * Setter of the property <tt>collectionÜbung</tt>
	 * @param collectionÜbung  The collectionÜbung to set.
	 * @uml.property  name="collectionÜbung"
	 */
	public void setCollectionÜbung(Collection<Übung> collectionÜbung) {
		this.collectionÜbung = collectionÜbung;
	}

	/**
	 * Setter of the property <tt>id</tt>
	 * @param id  The id to set.
	 * @uml.property  name="id"
	 */
	public void setId(int id) {
		this.id = id;
	}

	/** 
	 * Setter of the property <tt>landkarte</tt>
	 * @param landkarte  The landkarte to set.
	 * @uml.property  name="landkarte"
	 */
	public void setLandkarte(Landkarte landkarte) {
		this.landkarte = landkarte;
	}

	/**
	 * Setter of the property <tt>ortStatus</tt>
	 * @param ortStatus  The ortStatus to set.
	 * @uml.property  name="ortStatus"
	 */
	public void setOrtStatus(OrtStatus ortStatus) {
		this.ortStatus = ortStatus;
	}

}
